/*
 * GuiFactory.h
 *
 *  Created on: 2011-1-14
 *      Author: Administrator
 */

#ifndef GUIFACTORY_H_
#define GUIFACTORY_H_

#include "DateControl.h"
#include "Image.h"
#include "Button.h"
#include "Gamblings.h"
#include "CustomContainer.h"
#include "ViewTable.h"
#include "TablesView.h"
#include "TableDatas.h"
#include "ListBox.h"
#include "RacesCard.h"
#include "Race.h"
#include "RacesItem.h"
#include "TabControl.h"

class CGuiFactory
	{
public:
	static TFileName GetImageFullPath(const TDesC& aFileName);
	static TFileName GetFullPath();
	static CImage* GetImageL(const TDesC& aFileName);
	static CImage* GetTeamImageL(const TDesC& aFileName);
	static CDateControl* CreateDateControlL( const TRect& aRect, const CCoeControl* aParent, MControlEventObserver* aEventObserver );
	static CButton* CreateButtonL( const TRect& aRect, const CCoeControl* aParent, MControlEventObserver* aEventObserver );
	static CContainerControl* CreateGamblingsL( const TRect& aRect, const CCoeControl* aParent, MControlEventObserver* aEventObserver, CGamblings* aGamblings );
	static CViewTable* CreateViewTable(const TRect& aRect, const CCoeControl* aParent, MControlEventObserver* aEventObserver, CViewTableData* aData);
	static CTablesView* CreateTablesView(const TRect& aRect, const CCoeControl* aParent, MControlEventObserver* aEventObserver, CTableDatas* aDatas);
	static CContainerControl* CreateTablesContainer(const TRect& aRect, const CCoeControl* aParent, MControlEventObserver* aEventObserver, CTableDatas* aDatas);
	static void UpdateTablesContainer(CContainerControl* aTables,CTableDatas* aDatas, MControlEventObserver* aEventObserver);
	static CListBox* CreateListBox(const TRect& aRect, const CCoeControl* aParent, MControlEventObserver* aEventObserver);
	static void AddRacesToListBox(CListBox* aOwner, CRacesCard* aRacesCard);
	};

#endif /* GUIFACTORY_H_ */
